// 开启严格模式 -- 规范语法 -- 严格模式可以避免一些隐式的错误，提高代码的健壮性和可读性 ,详情请看 https://blog.csdn.net/qq_54693844/article/details/129679173?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168921268316800182722265%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168921268316800182722265&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-129679173-null-null.142^v88^control,239^v2^insert_chatgpt&utm_term=vue.config.js%20%E4%B8%AD%E7%9A%84use%20strict&spm=1018.2226.3001.4187
// 'use strict'

// 获取到生产环境 -- 固定写法
// const isProduct = process.env.NODE_ENV === 'production'
// 判断 是否为生产环境 -- 配备了CDN
// let cdn = { css: [], js: [] }
// let externals = {} // 排除包 即不打包的放在这里，格式： key:value
// if (isProduct) {
//   // 写在 externals 不进行打包
//   // key(要排除的包名), value(引入的CDN包的全局变量名)
//   // eslint-disable-next-line no-unused-vars
//   externals = {
//     vue: 'Vue',
//     'element-ui': 'ELEMENT',
//     xlsx: 'XLSX',
//     'cos-js-sdk-v5': 'COS'
//   }
//   // eslint-disable-next-line no-unused-vars
//   cdn = {
//     css: [
//       'https://unpkg.com/element-ui/lib/theme-chalk/index.css' // element-ui css 样式表
//     ],
//     js: [
//       // vue must at first!
//       'https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.min.js', // vuejs
//       'https://unpkg.com/element-ui/lib/index.js' // element-ui js
//     ]
//   }
// }

// 引入插件
// const UglifyPlugin = require('uglifyjs-webpack-plugin')
// const merge = require('webpack-merge')

// 获取端口号
const port = process.env.VUE_APP_PORT

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  // 配置打包路径
  publicPath: './',
  // 打包输出的文件
  outputDir: 'dist',
  // 静态资源文件名称
  assetsDir: 'static',
  // 去除打包后js中的map文件
  productionSourceMap: false,
  // 关闭eslint的校验
  lintOnSave: false,
  // 配置浏览器请求跨域
  devServer: {
    // 启动项目在8888端口自动打开
    open: true,
    port: port,
    proxy: null // 前端反向代理解决跨域问题
    //   proxy: {
    //     '/orders': {
    //       target: 'http://172.25.14.65:8080',
    //       changeOrigin: true
    //     }

    //   }
  }
  // 去掉生产环境中的 consol.log 方法
  // configureWebpack: (config) => {
  //   // if (process.env.NODE_ENV === 'production') {
  //   //   config.mode = 'production'
  //   //   merge(config, {
  //   //     optimization: {
  //   //       minimizer: [
  //   //         new Ug
  //   //       ]
  //   //     }
  //   //   })
  //   //   config.optimization.minimizer.map((arg) => {
  //   //     const option = arg.options.terserOptions.compress
  //   //     option.drop_console = true // 打开开关
  //   //     return arg
  //   //   })
  //   // }
  //   if (process.env.NODE_ENV === 'production') {
  //     config.mode = 'production'
  //     // 融合
  //     merge(config, {
  //       optimization: {
  //         minimizer: [
  //           // 上线压缩去除console等信息
  //           new UglifyPlugin({
  //             uglifyOptions: {
  //               warnings: false,
  //               compress: {
  //                 drop_console: true, // console
  //                 drop_debugger: false,
  //                 pure_funcs: ['console.log'] // 移除console
  //               }
  //             },
  //             sourceMap: false,
  //             parallel: true
  //           })
  //         ]
  //       }
  //     })
  //   } else {
  //     // 开发环境配置
  //     config.mode = 'development'
  //   }
  // }
})
